High performance peripheral systems associated with computers or central processing units generally employ multiple processors and may include microprocessors or microcontrollers with peripheral controllers. The microprocessor serves to process a command that is passed to the peripheral system from the host computer which controls the peripheral controller. However, the microprocessor is too slow for high performance peripheral control because it is limited by its instruction cycle.
A typical peripheral controller includes a control path and a data path. The system including the peripheral controller processes different type of instructions for the control and data paths. If the control and data paths are blended or mixed, the system will be limited and will not be sufficiently flexible because the processing of data must be time-shared with the control path and dedicated logic circuitry is required for high performance processing of data. The data path normally operates on a certain number of bytes of data and data-like information. When an instruction on a data path is executed, it needs to be executed for as long as the corresponding data field is being processed. In contrast, an instruction on a control path is executed only once when called.
Peripheral controllers that are currently available include an internal sequencer. Generally, for each specific task, a sequencer is dedicated to perform the task in response to a command or instruction from a microprocessor. The sequencer enables the controller to respond to the commands from the microprocessor in a sequential manner or according to rank or time of the commands. The flexibility of the design of the controller is limited by the specific requirements of the user.
Pipeline architecture can allow several instructions to be executed simultaneously, but due to the fixed instruction cycles, it cannot be used in the described peripheral systems.